Software-Defined Networking is a paradigm in network design. In a Software-Defined Network, the network control plane is not configured individually for each of the network devices but managed by a central SDN controller. The SDN controller is a centralized software platform. Notable examples for protocols used for implementing an SDN include the OpenFlow protocol specified in the OpenFlow Switch Specification, Version 1.3.1, standardized by the Open Network Foundation, and the ForCES protocol suite defined by the Internet Engineering Task Force (IETF).
Centralization means that in an SDN, the network control logic is performed on a centralized software platform, and the decisions (e.g., as to routing and forwarding of data packets) are executed by physical or virtual network devices distributed throughout the network. In order to communicate control decisions, the SDN controller must have a connection established to each of the network devices.
US 2013/0010600 A1 describes a technique for executing operations, administration and management or maintenance (OAM) functions. An OpenFlow controller includes an OAM module that services OAM function requests in a network implementing OpenFlow. A subset of OpenFlow switches in the network report metrics for OpenFlow data flows to provide the OAM module with information for executing the requested OAM functions. OAM packets are correspondingly inserted into the OpenFlow data flows.
EP 2 544 409 A1 discloses a technique for inserting OpenFlow OAM packets into an OpenFlow data flow. A network element receives the OpenFlow OAM packets from a source through a port of the network element. An OpenFlow switch module matches the OpenFlow data packets using a matching structure received by the network element to identify the OpenFlow OAM packets. The identified OpenFlow OAM packets are forwarded to a flow table or group table of the OpenFlow switch module to aggregate the OpenFlow OAM packets with a corresponding OpenFlow data flow.
US 2011/0261825 A1 describes an OpenFlow communication system including an OpenFlow switch that controls transmission and reception of a packet according to a flow entry. An OpenFlow controller generates a registration flow entry, which is stored in a flow table of a specific OpenFlow switch arranged on a route of a communication flow. The specific OpenFlow switch extracts the registration flow entry from an encapsulated packet to produce a new flow entry and executes an action indicated in the new flow entry.
Existing SDN architectures rely on traditional network protocols for implementing transport connections for the control traffic between instances of the centralized SDN controller and the individual network devices. In particular, the Transmission Control Protocol (TCP) on transport layer 4 in conjunction with the Internet Protocol (IP) on the network layer 3 are used as transport mechanisms for the control traffic. Each of the SDN controller instances has to maintain a separate TCP connection for each network device. Similarly, each network device has to maintain a TCP connection per SDN controller instance. The number of TCP connections as well as the number of hops along each TCP connection increases as the size of the SDN increases. This poses a scalability limitation for large scale networks.
Furthermore, the controller instances and the network devices can maintain only a limited number of active TCP connections, e.g., due to hardware and software re-source limitations. In addition, TCP control connections can slow or prevent changes to the network flow, since an increasing number of TCP connections also have to be changed in case of in-band control.